package cn.tedu.straw.search.vo;

import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.io.Serializable;

@Data
@Accessors(chain = true)
@Document(indexName = "questions") // 配置ElasticSearch服务器中的索引名称
public class QuestionVO implements Serializable {
    // id:该属性需要被响应到客户端,以便于事项客户端界面操作,例如显示"问题"详情
    @Id
    private Integer id;
    // title:问题标题,必需添加 @Fiekd 配置分词器,匹配搜索关键字
    @Field(type = FieldType.Text, analyzer = "ik_smart", searchAnalyzer = "ik_smart")
    private String title;
    // content:问题正文,必需添加 @Fiekd 配置分词器,匹配搜索关键字
    @Field(type = FieldType.Text, analyzer = "ik_smart", searchAnalyzer = "ik_smart")
    private String content;
    // 作者id:用于完善页面功能
    @Field(type = FieldType.Integer)
    private Integer userId;
    // 作者昵称:用于完善页面功能
    @Field(type = FieldType.Keyword)
    private String userNickName;
    // 点击量:用于完善页面
    @Field(type = FieldType.Integer)
    private Integer hits;
}
